制約をロジックではなく型で表現する