Reuse existing module type sig
Reuse existing module type sig

Summary:
The UserKeyType module sig is defined too low in the file to use in the
definition of KeyFunctor, so KeyFunctor duplicates the parts of the signature it
uses. This diff just moves the UserKeyType definition up so it can be reused.

Reviewed By: mvitousek

Differential Revision: D24373849

fbshipit-source-id: 233a4ebfdb27a1a6e614cf1e4a9f5ecf6032e333

nmote/flow,nmote/flow,nmote/flow,nmote/flow,nmote/flow,nmote/flow,nmote/flow