#pragma indent using System.Console [Record] \ class A public v : int public foo () : void Write ("foo()\n") class B public foo (this a : A, p : int) : void // E: extension methods need to be marked public static Write ($"foo($(a.v),$p)\n") class C public foo (p : int, this a : A) : void // E: 'this' modifier \(for extension method\) can only be used on the first parameter Write ($"foo($(a.v),$p)\n")