use effectful::{ bound::Dynamic, effective::{Canonical, Effective}, environment::Environment, DynBind, }; use crate::{any::OwnedStatic, Walk}; use super::value::ValueWalker; impl<'ctx, M, E: Environment> Walk<'ctx, M, E> for bool where Dynamic: DynBind, Dynamic>: DynBind, { type Walker = ValueWalker; fn into_walker<'e>(self) -> Canonical<'e, Self::Walker, E> { E::value(ValueWalker::new(self)).cast() } } impl<'ctx, M, E: Environment> Walk<'ctx, M, E> for &'ctx bool where Dynamic: DynBind, Dynamic>: DynBind, { type Walker = ValueWalker; fn into_walker<'e>(self) -> Canonical<'e, Self::Walker, E> { E::value(ValueWalker::new(*self)).cast() } }