polytypic function