I want to do a type level syntax for address and bytes literals, e.g.: #0xdeadbeef :: ADDR #0xDeadBeEf :: ADDR with additional crc check #0xdeadbeefabcdef :: BYTES