{
  "id": "fn-array-concat",
  "dataComponent": "array",
  "heading": {
    "title": "concat",
    "badges": ["Array", "PARTIAL"]
  },
  "synopsis": "Concatenates two arrays (of the same element type) end-to-end, returning a new array. Supports partial usage for either argument.",
  "codeBlocks": [
    "extend(\"array\")\n\n# 1) Basic usage => combine two integer arrays:\nsput( array:concat([1,2,3], [4,5]) )\n# => [1,2,3,4,5]\n\n# 2) Partial usage => known first array, missing second:\npartialConcat = array:concat([10,20])\nsput( partialConcat([30,40,50]) )\n# => [10,20,30,40,50]\n\n# 3) Placeholder => known second array, missing first:\nknownTail = array:concat(_, [\"X\",\"Y\"])\nsput( knownTail([\"A\"]) )\n# => [\"A\",\"X\",\"Y\"]\n\n# 4) If the arrays differ in type (like int[] vs str[]), bridging may raise an error or coerce them, depending on your environment.\n"
  ],
  "notes": [
    "Accepts up to two arguments => (array1, array2). If both are provided, returns a single array containing all elements of array1 followed by all elements of array2.",
    "If either argument is missing or a placeholder (_), partial usage is returned, waiting for the missing piece.",
    "Typically both arrays must be of the same element type. Some builds might attempt to unify or raise an error if types differ."
  ]
}
