演算子は関数宣言のうちのwritten形式を使って定義することができる。以下に整数の足し算を定義するコードを示す。function Add(X, Y: integer) return integer written X+Ywrittenを使った定義には三つ以上の引数を取ることができる。例として線型変換の行列を示す。function Linear(A, B, C : matrix) return matrix written A+B*Cwrittenは定数も扱える。これによってより特殊な演算子を定義できる。function Equal(A, B : matrix) return boolean written A=Bfunction IsNull(A : matrix) return boolean written A=0function IsUnity(A : matrix) return boolean written A=1基本的な演算子はすべてこのメカニズムで実装される。式はwrittenを用いた関数呼び出しに集約される。よってこのメカニズムは関数オーバーロードというよりも、式削減（expressin reduction）に近い。
関数は多重定義できる。関数は宣言時の引数リストに...を使うことで、可変引数を扱うことができる（当初はothetがこの目的で使われていた）。この際、...を使ってサブルーチンにそのまま引数を渡すことができる。これを可変引数テンプレートと呼ぶ。// Generic function for the minimum of N itemfunction Min(X : ordered; ...) return ordered is  result := Min(...)  if X < result then    result := Xこのような関数が呼び出されたとき、コンパイラは引数リストに合うように再帰的に関数を作る。// Examples of use of the Min just declaredX : real := Min(1.3, 2.56, 7.21)Y : integer := Min(1, 3, 6, 7, 1, 2)
XL1の型システムは静的型付けだが、ジェネリックプログラミングの方式がAbaやC++などの言語とは異なる。配列やポインタなどは、C++ではプリミティブ型であるが、XLではライブラリで定義される。以下に一次元配列の定義を例示する。generic [Item : type; Size : integer] type array有効なジェネリック型（validated generic type）とは、その型がどのように使われるかを自身で表せる型であり、このような型にはジェネリック引数が必要ない。例として、不等号を含むときに型をorderedと宣言するものを示す。// A type is ordered if it has a less-than relationshipgeneric type ordered if  A, B : ordered  Test : boolean := A < Bこれによって、ordered自身がジェネリックとなるから、潜在的にジェネリックとなる関数を定義することが可能となる。// Generic function for the minimum of one itemfunction Min(X : ordered) return ordered is  ... compute Y of type ordered ...   return Yさらに、arrayのようなパラメータを持つジェネリック型にも適用できる。任意の配列(array)の和を計算する関数を以下に示す。function Sum(A : array) return array.Item is  for I in 0..array.Size-1 loop    result += A[I]
1945年（昭和20年）1月20日、占守は舞鶴に入港する。各艦（利根、榧、波風、朝顔）他と共に修理に従事した。占守においては、失った艦首を第一号型海防艦（丙型）と同様の簡易なものとし、煙突を楕円筒型（擇捉型と同等）に改める。機銃も増備。4月1日、占守の修理と整備完了。北方海域での行動に備えるため、耐寒冷装備の整備も行なわれていた。翌日、大湊に向けて出撃する。4月10日、海防艦3隻（占守、国後、八丈）は役務を舞鶴鎮守府警備海防艦に定められる。同日、日本海軍は海防艦複数隻（福江、国後、八丈、笠戸、占守、択捉）により、大湊警備府（司令長官宇垣完爾中将）麾下に第百四戦隊（司令官渡辺清七少将）を新編した。軍隊区分警戒部隊（八丈、国後、占守、笠戸、択捉）に配され、八丈海防艦長の指揮下で行動した。その後、軍隊区分宗谷防備部隊で行動。終戦時、占守は北海道方面（稚内市）に所在。大泊（樺太）から北海道への邦人撤収任務に従事した。10月5日、帝国海防艦籍から除籍。10月12日、帝国艦船特別輸送艦と呼称され、復員輸送に従事。12月1日、舞鶴地方復員局所管の特別輸送艦に定められる。1946年（昭和21年）12月30日、特別保管艦に指定される。1947年（昭和22年）7月5日、特別輸送艦の定めを解かれ、ナホトカで賠償艦としてソ連へ引き渡された。ソ連では、「護衛艦」を意味する「EK」の略号を与えられ、EK-31(ЭК-31エーカー・トリーッツァチ・アディン)の艦名で太平洋艦隊に編入された。10月にウラジオストクに回航。1948年（昭和23年）7月、ソヴィエツカヤ・ガヴァニの第263造船所で通報艦に類別を変更し、名称も「第25号通報艦」を意味するPS-25(ПС-25ペーエス・ドヴァーッツァチ・ピャーチ)に変更された。1957年（昭和32年）6月17日から10月5日にかけて、第263造船所で工作艦（плавучая мастерская）に改装され、PM-74(ПМ-74ペエーム・スィェーミヂェスャト・チトィーリェ。「第74号工作艦」といった意味)に改称される。その後、1959年5月16日に退役し、解体のため資金資産局へ引き渡された後、解体された。