use crate::number::Number; #[derive(Clone)] pub enum Type { String, Record { name: String, fields: Vec }, AnyNumber, NumberInRange { min: Option, max: Option, }, List { contents: Box, }, } #[derive(Clone)] pub struct Slot { pub name: String, pub r#type: Type, } pub trait Actorful { fn inputs() -> Vec; fn outputs() -> Vec; }