desugarFCase :: L1.L1Expression -> State DesugarTmp L1.L1Expression
desugarFCase (L1.L1ExFCase ss isClosed values) = do
  tmpScopedID <- L1.L1ScopedID ss <$> desugarTmpName
  return $ L1.L1ExLambda ss (L1.L1PatternBind ss tmpScopedID) (L1.L1ExCase ss (L1.L1ExBoundVariable ss tmpScopedID) values)
desugarFCase :: L1.L1Expression -> State DesugarTmp L1.L1Expression
desugarFCase (L1.L1ExFCase ss isClosed values) = do
  tmpScopedID <- L1.L1ScopedID ss <$> desugarTmpName
  return $ L1.L1ExLambda ss (L1.L1PatternBind ss tmpScopedID) (L1.L1ExCase ss (L1.L1ExBoundVariable ss tmpScopedID) values)
desugarFCase (L1.L1ExFCase ss isClosed values) = do
  tmpScopedID <- L1.L1ScopedID ss <$> desugarTmpName
  return $ L1.L1ExLambda ss (L1.L1PatternBind ss tmpScopedID) (L1.L1ExCase ss (L1.L1ExBoundVariable ss tmpScopedID) values)