Change the adapt type syntax to use a function proto