Use typedef information instead of requiring canonical form