Give up on :: for type sigs. Just use : consistently