informal protocols for inferring method types