package body Moves is procedure Add (This : in out Path; Item : in Move) is begin This.Append (Item); end Add; procedure Add (This : in out Path; List : in Path) is begin This.Append (List); end Add; function Latest (This : in Path) return Move is begin return This.Last_Element; end Latest; procedure Drop_Latest (This : in out Path) is begin This.Delete_Last; end Drop_Latest; function Length (This : in Path) return Natural is begin return Natural (Move_Vectors.Vector (This).Length); end Length; end Moves;