proj: rationalized API