Create separate type for canonical constraints