ka: abstract away the type requirements.