record Bounds : Type.endCol : Bounds -> Int.endLine : Bounds -> Int.startCol : Bounds -> Int.startLine : Bounds -> Int.startLine : Bounds -> IntstartLine : Bounds -> Int.startCol : Bounds -> IntstartCol : Bounds -> Int.endLine : Bounds -> IntendLine : Bounds -> Int.endCol : Bounds -> IntendCol : Bounds -> IntstartBounds : Bounds -> (Int, Int)endBounds : Bounds -> (Int, Int)record WithBounds : Type -> TypeMkBounded : ty -> Bool -> Bounds -> WithBounds ty.bounds : WithBounds ty -> Bounds.isIrrelevant : WithBounds ty -> Bool.val : WithBounds ty -> tyEq ty => Eq (WithBounds ty)Foldable WithBoundsFunctor WithBoundsShow ty => Show (WithBounds ty)Traversable WithBounds.val : WithBounds ty -> tyval : WithBounds ty -> ty.isIrrelevant : WithBounds ty -> BoolisIrrelevant : WithBounds ty -> Bool.bounds : WithBounds ty -> Boundsbounds : WithBounds ty -> Boundsstart : WithBounds ty -> (Int, Int)end : WithBounds ty -> (Int, Int)irrelevantBounds : ty -> WithBounds tyremoveIrrelevance : WithBounds ty -> WithBounds tymergeBounds : WithBounds ty -> WithBounds ty' -> WithBounds ty'joinBounds : WithBounds (WithBounds ty) -> WithBounds ty