pub fn export_symbol<Atom: Into<AtomId>>(atom: Atom) -> impl BindingMonad<Binding=AtomId> {
    let atom            = atom.into();
    let AtomId(atom_id) = atom;

    ExportSymbolMonad {
        atom_id
    }
}
///
/// Creates a monad that will export a particular atom into the parent environment
///
Creates a monad that will export a particular atom into the parent environment
Creates a monad that will export a particular atom into the parent environment
pub fn export_symbol<Atom: Into<AtomId>>(atom: Atom) -> impl BindingMonad<Binding=AtomId> {
    let atom            = atom.into();
    let AtomId(atom_id) = atom;
    ExportSymbolMonad {
        atom_id
    }
}
pub fn export_symbol < Atom : Into < AtomId > > ( atom : Atom ) -> impl BindingMonad < Binding = AtomId > { let atom = atom . into ( ) ; let AtomId ( atom_id ) = atom ; ExportSymbolMonad { atom_id } }
Creates a monad that will export a particular atom into the parent environment
Creates a monad that will export a particular atom into the parent environment
atom
Atom
atom
Atom