Not quite sure how this contract manifests itself in types.