centerClusterAtLocation :: Location -> Cluster -> Cluster
centerClusterAtLocation (Location x0 y0) cluster@(Cluster blocks) =
    let (Location x1 y1) = centerLocationOfCluster cluster
        dx = x1 - x0
        dy = y1 - y0
        transformation = \(Location x y) -> Location (x - dx) (y - dy) in
        Cluster $ Map.mapKeys transformation blocks
centerClusterAtLocation :: Location -> Cluster -> Cluster
centerClusterAtLocation (Location x0 y0) cluster@(Cluster blocks) =
    let (Location x1 y1) = centerLocationOfCluster cluster
        dx = x1 - x0
        dy = y1 - y0
        transformation = \(Location x y) -> Location (x - dx) (y - dy) in
        Cluster $ Map.mapKeys transformation blocks
centerClusterAtLocation (Location x0 y0) cluster@(Cluster blocks) =
    let (Location x1 y1) = centerLocationOfCluster cluster
        dx = x1 - x0
        dy = y1 - y0
        transformation = \(Location x y) -> Location (x - dx) (y - dy) in
        Cluster $ Map.mapKeys transformation blocks