so you want to have a Tank, and then you have different sub-tanks which have different AIs, yeah? and all the AIs need their own state
pub struct Tank<A> {
pub pos: f32
pub health: u32,
pub ai: A
}
impl<A: TankAi> Tank<A> {
fn think(&mut self) { <a as="" tankai="">::think(self) }</a>