differentiate halfDoc.uri from HalfDoc.link
implement field enforcement
allow for flexible args to #get / #post
hide the request() function