init = { time = 0 } type Msg = Tick Float GetKeyState update msg model = case msg of Tick t _ -> { model | time = t } fun t x = let angle = x * 2 * pi / (toFloat numCircles) in circle 5 |> filled red |> move (t * sin angle,t * cos angle) numCircles : Int numCircles = 20 myShapes model = List.range 0 numCircles |> List.map toFloat |> List.map (fun model.time)