public string GenerateCode(LeafComponent leaf)
        {
            if (leaf.IsIdentityCall)
                return leaf.Type.ToString();
            if (leaf.IsFunctionCall)
                return string.Format("Leaf {0}", leaf.Fun);

            return string.Format("Leaf (fun input -> {0})", leaf.Fun);
        }
        public void LeafTest(LeafType leafType, string fun, string expected)
        {
            // arrange
            var leaf = new LeafComponent
            {
                Fun = fun
            };

            // act
            var code = _generator.GenerateCode(leaf);

            // assert
            code.Should().Be(expected);
        }