Explicit refinement types