Add purescript support, needs tests