general {
    funcon-term: 
      initialise-binding tuple(
        collateral( ),
        collateral(bind-value("x", true)),
        collateral(bind-value("x", true), 
                   bind-value("y", false)),
        collateral(bind-value("x", true), 
                   bind-value("y", false), 
                   unbind"z"),
        scope(bind-value("x",true), 
          collateral(bind-value("x", false), 
                     bind-value("y", true), 
                     bind-value("z", bound-directly"x"))))
        ;
}

tests {
    result-term: 
      tuple(
        map( ),
        {"x"|->true},
        {"x"|->true, "y"|->false},
        {"x"|->true, "y"|->false, "z"|->( )},
        {"x"|->false,"y"|->true, "z"|->true})
        ;
}
