request: better types to require