uMatrix xs ys f =
    let row xs g = case xs of
            []    -> knownNil
            x:xs' -> knownCons (g x) (row xs' g)
    in  row xs $ \ x -> row ys $ \ y -> f x y
uMatrix xs ys f =
    let row xs g = case xs of
            []    -> knownNil
            x:xs' -> knownCons (g x) (row xs' g)
    in  row xs $ \ x -> row ys $ \ y -> f x y
uMatrix xs ys f =
    let row xs g = case xs of
            []    -> knownNil
            x:xs' -> knownCons (g x) (row xs' g)
    in  row xs $ \ x -> row ys $ \ y -> f x y