Detect compiler & use appropriate types. Refs #77.