def f (x : Nat) : Nat :=
  if h : x > 0 then
    g x + 2
  else
    1
where
  g : Nat → Nat
  | 0 => 2
  | x => f x * 2

#check f
#check f.g

#eval f 0
#eval f.g 0

inductive Foo where
  | a | b | c
  deriving Repr
def h (x : Nat) : Foo :=
  match x with
  | 0 => Foo.a
  | 1 => Foo.b
  | x => h x

#check h

#eval h 0
