custom datatype is first class in core.logic and behaves like a seq