anchor.diff:  
   %% Fn
   
  -build_fn(Op, [{'->', _, [_, _]} | _] = Stab) ->
  -  {fn, meta_from_token(Op), build_stab(Stab)};
  -build_fn(Op, _Stab) ->
  -  throw(meta_from_token(Op), "expected clauses to be defined with -> inside: ", "'fn'").
  +build_fn(Fn, [{'->', _, [_, _]} | _] = Stab, End) ->
  +  {fn, meta_from_token_with_endline(Fn, End), build_stab(Stab)};
  +build_fn(Fn, _Stab, _End) ->
  +  throw(meta_from_token(Fn), "expected clauses to be defined with -> inside: ", "'fn'").
   
   %% Access
   
  
positive.code: build_stab([{'->', Meta, [Left, Right]} | T]) ->
    build_stab(Meta, T, Left, [Right], []);
  
  build_stab(Else) ->
    build_block(Else).
  
  build_stab(Old, [{'->', New, [Left, Right]} | T], Marker, Temp, Acc) ->
    H = {'->', Old, [Marker, build_block(reverse(Temp))]},
  
negative.code: access_expr -> bracket_at_expr : '$1'.
  access_expr -> bracket_expr : '$1'.
  access_expr -> capture_op_eol int : build_unary_op('$1', number_value('$2')).
  access_expr -> fn_eoe stab end_eoe : build_fn('$1', reverse('$2'), '$3').
  access_expr -> open_paren stab close_paren : build_stab('$1', reverse('$2'), '$3').
  access_expr -> open_paren stab ';' close_paren : build_stab('$1', reverse('$2'), '$4').
  access_expr -> open_paren ';' stab ';' close_paren : build_stab('$1', reverse('$3'), '$5').
  access_expr -> open_paren ';' stab close_paren : build_stab('$1', reverse('$3'), '$4').
  access_expr -> open_paren ';' close_paren : build_stab('$1', [], '$3').
  access_expr -> empty_paren : warn_empty_paren('$1'), nil.
  access_expr -> number : '$1'.
  access_expr -> list : element(1, '$1').
  