inspired by haskell newtypes http://www.mail-archive.com/racket-users@googlegroups.com/msg27118.html https://www.haskell.org/tutorial/moretypes.html