Structural refinement types